package com.lframework.xingyun.comp.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.lframework.starter.web.core.entity.BaseEntity;
import com.lframework.starter.web.core.dto.BaseDto;
import com.lframework.xingyun.comp.enums.FileBoxFileType;
import java.time.LocalDateTime;
import lombok.Data;

/**
 * <p>
 * 文件收纳箱
 * </p>
 */
@Data
@TableName("sw_file_box")
public class FileBox extends BaseEntity implements BaseDto {

  public static final String CACHE_NAME = "FileBox";
  private static final long serialVersionUID = 1L;
  /**
   * ID
   */
  private String id;

  /**
   * 名称
   */
  private String name;

  /**
   * 上传记录ID
   */
  private String recordId;

  /**
   * ContentType
   */
  private String contentType;

  /**
   * 文件类型
   */
  private FileBoxFileType fileType;

  /**
   * 文件大小
   */
  private String fileSize;

  /**
   * 文件路径
   */
  private String filePath;

  /**
   * 文件后缀
   */
  private String fileSuffix;

  /**
   * 备注
   */
  private String description;

  /**
   * 创建人ID 新增时赋值
   */
  @TableField(fill = FieldFill.INSERT)
  private String createById;

  /**
   * 创建人 新增时赋值
   */
  @TableField(fill = FieldFill.INSERT)
  private String createBy;

  /**
   * 创建时间
   */
  @TableField(fill = FieldFill.INSERT)
  private LocalDateTime createTime;

  /**
   * 修改人 新增和修改时赋值
   */
  @TableField(fill = FieldFill.INSERT_UPDATE)
  private String updateBy;

  /**
   * 修改人ID 新增和修改时赋值
   */
  @TableField(fill = FieldFill.INSERT_UPDATE)
  private String updateById;

  /**
   * 修改时间
   */
  @TableField(fill = FieldFill.INSERT_UPDATE)
  private LocalDateTime updateTime;

}
